package com.platform.mobile.dao;

import java.util.List;

import com.platform.bean.PageInfo;
import com.platform.mobile.bean.ContactInfo;
import com.platform.mobile.bean.CourseBean;
import com.platform.mobile.bean.FollowedListBean;
import com.platform.mobile.bean.GetHospitalRecordRequest;
import com.platform.mobile.bean.LoginAssistant;
import com.platform.mobile.bean.LoginDoctor;
import com.platform.mobile.bean.SearchPaitentRequest;
import com.platform.mobile.bean.TransferBean;
import com.platform.mobile.entity.VisitCourseDisease;
import com.platform.mobile.entity.VisitCourseRes;
import com.platform.mobile.entity.VisitFollowed;
import com.platform.mobile.entity.VisitGroups;
import com.platform.mobile.entity.VisitHospitalRecord;
import com.platform.mobile.entity.VisitUser;

/**
 * 病人业务dao
 * @author inven
 *
 */
public interface PaitentDao {

	
	public List<VisitUser> getUsersList(PageInfo pageInfo);
	
	public List<VisitUser> getUsersLikeName(SearchPaitentRequest name);
	
	public List<VisitUser> getUsersLikePhone(SearchPaitentRequest phone);
	
	public int getUsersLikeNameCount(SearchPaitentRequest name);
	
	public int getUsersLikePhoneCount(SearchPaitentRequest phone);
	
	public boolean insertUser(VisitUser user);
	
	public boolean insertHospitalRecord(VisitHospitalRecord record);
	
	public boolean insertCourseDisease(VisitCourseDisease course);
	
	public boolean insertCourseRes(VisitCourseRes res);
	
	public boolean insertFollowed(VisitFollowed followed);
	
	public int getTotalCountOfUsers();
	
	public int getTotalCountOfHospitalRecord();
	
	public List<VisitHospitalRecord> getHospitalRecordById(GetHospitalRecordRequest request);
	
	public List<VisitHospitalRecord> getHospitalRecord(PageInfo pageInfo);
	
	public String getPatientNameById(Integer id);
	
	public String getUserNameById(String userId);
	
	public List<VisitCourseDisease> getCourseList(Integer recordId);
	
	public List<VisitCourseRes> getCourseResList(String courseId);
	
	public List<VisitFollowed> getFollowedListByRecrodId(Integer recordId);
	
	public int getTotalCountOfFollowedView(Boolean isFollowed
			,String content,String disease, Integer times);
	
	public List<FollowedListBean> getFollowedView(Integer aidId, boolean isFollowed
			,String content,String disease, Integer times,PageInfo pageInfo);
	
	public List<TransferBean> getTransferView(Integer deptId, boolean isTransfer
			,String content,PageInfo pageInfo);
	
	public int getTotalCountOfTransferView(Integer deptId, boolean isTransfer
			,String content);
	
	public List<LoginDoctor> getLoginDoctor(Integer userId);
	
	public List<LoginAssistant> getLoginAssistantList(Integer userId);
	
	public LoginAssistant getLoginAssistant(Integer userId);
	
	public List<VisitGroups> getGroupsByType(Integer userId);
	
	public List<ContactInfo> getUsersByGroupIdAndUId(Integer groupId, Integer userId);
}
